package factory;

import interfaces.IDisplay;
import it.unibo.is.interfaces.IBasicEnvAwt;

/**
 * @author Stefano&Davide
 * @version 1.0
 */

public abstract class DisplayAbstractFactory {

	public static final String noGui="noGui";
	public static final String guiView="guiView";
	public static final String guiPanel="guiPanel";
	public static final String viewOdometer="viewOdometer";
	public static final String guiOdometer="guiOdometer";
	
	public static DisplayAbstractFactory getInstance(String mode){
		if(mode.equals(noGui))
			return new DisplayFactoryStandardOutput();
		else if(mode.equals(guiView))
			return new DisplayFactoryView();
		else if(mode.equals(guiPanel))
			return new DisplayGuiFactory();
		else if(mode.equals(viewOdometer))
			return new DisplayFactoryViewOdometer();
		else if(mode.equals(guiOdometer))
			return new DisplayFactoryGuiOdometer();
		else return null;
	}
	
	public abstract IDisplay makeDisplay(IBasicEnvAwt env);
}